package com.yungu.swift.socket.push.service;


import com.yungu.swift.base.ResponseData;
import com.yungu.swift.socket.push.model.PushContent;

import java.util.List;

/**
 * Copyright © 厦门云谷互联信息有限公司 2018-2020 All Right Reserved
 * <p>
 * 长连接推送消息接口
 *
 * @author Zerrion
 * @version 1.0.0-RELEASE
 * @since 2018-06-12 10:01
 */
public interface PushService {
    /**
     * 单条消息推送
     *
     * @param targetUuid  目标主键
     * @param pushContent 推送内容
     */
    void sendMessage(String targetUuid, PushContent pushContent);

    /**
     * 多消息推送
     *
     * @param targetUuids 目标主键集合
     * @param pushContent 推送内容
     */
    void sendMessageByList(List<String> targetUuids, PushContent pushContent);


    void sendMessageByAdmin(PushContent pushContent);

    /**
     * 通过id判断通道是否存在
     */
    ResponseData<Boolean> getChannel(String targetUuid);

}
